#include<bits/stdc++.h>
#define int long long 
using namespace std;

const int maxn=1e5+10;

int path[maxn];
bitset<maxn> vis;
int arr[maxn];
int n;

void dfs(int u){
	if(u==n+1){
		for(int i=1;i<=n;i++){
			cout<<path[i]<<" ";
		}
		cout<<'\n';
		return;
	}
	
	for(int i=1;i<=n;i++){
		if(!vis[i]){ // 没有被使用过
			path[u]=arr[i];
			vis[i]=1;
			dfs(u+1);
			// 恢复现场
			vis[i]=0;
		}
	}
}


void solve(){
	n=5;
	for(int i=1;i<=5;i++){
		arr[i]=i;
	}
	dfs(1);
}


signed main(){
	ios::sync_with_stdio(0), cin.tie(0),cout.tie(0);
	solve();
	return 0;
}
